Dx.declare('Dx.code.parser.regex_nfa', {

   '@extend': 'Dx.code.parser.base_regex',

   states: null,

   stateGen: 0,

   actions: null,

   precedence: {

      'alt': 1,

      'pattern_start': 2,

      'concat': 3,

      'repeated': 4,

      'repeated_or_none': 4,

      'optional': 4

   },

   constructor: function() {

      this.states = {
         's': {}
      };

      this.pointers = {};

      this.actions = {};

      this.$super(arguments);

   },

   register_process: function(o) {

      o.contexts = [];

      o.current = 's';

      o.pointer = { state: 's' };

      this.$super(arguments);

      console.log(this.states);

   },

   register_process_token: function(o, token, chr, index) {


      switch(token) {




      }


   }

   //register_process_token: function(o, token, chr, index) {
   //
   //   //console.log(' token: ', token, 'chr: ', chr, ' index: ', index);
   //
   //   var states = this.states;
   //
   //   var contexts = o.contexts;
   //
   //   var pointer = o.pointer;
   //
   //   var state, stateName, context, contextIndex;
   //
   //   switch (token) {
   //
   //      case 'end':
   //            console.log('gud! ', o.currentState);
   //         break;
   //
   //      case 'char':
   //
   //
   //         break;
   //
   //
   //   }
   //
   //}

});
